/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.elcom.config;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;

/**
 *
 * @author GiangLT
 */
public class ModuleConfig extends AbstractReloadConfig {

    public ModuleConfig(String configName) {
        super(configName);
    }

    @Override
    public void createDefaultConfigFile(File fout) throws IOException {
        List<String> lines = new ArrayList<String>();

        lines.add("<?xml version=\"1.0\" ?>");
        lines.add("\t<properties>");

        lines.add("\t\t<category name=\"general\">");
        lines.add("\t\t\t<property name=\"listenPort\" value=\"1787\"/>");
        lines.add("\t\t\t<property name=\"defaultValueLoaderFile\" value=\"C:\\Users\\GiangLT\\config\\cbcdefault.txt\"/>");
        lines.add("\t\t\t<property name=\"broadcastDelayMs\" value=\"60000\"/>");
        lines.add("\t\t\t<property name=\"broadcastDurationMs\" value=\"60000\"/>");
        lines.add("\t\t</category>");

        lines.add("\t\t<category name=\"processThreadPool\">");
        lines.add("\t\t\t<property name=\"queueSize\" value=\"30000\"/>");
        lines.add("\t\t\t<property name=\"corePoolSize\" value=\"5\"/>");
        lines.add("\t\t\t<property name=\"maximumPoolSize\" value=\"10\"/>");
        lines.add("\t\t\t<property name=\"keepAliveTime\" value=\"60000\"/>");
        lines.add("\t\t</category>");

        lines.add("\t\t<category name=\"httpConnection\">");
        lines.add("\t\t\t<property name=\"cbcUri\" value=\"http://10.149.110.243:5454\"/>");
        lines.add("\t\t\t<property name=\"connectionTimeout\" value=\"5000\"/>");
        lines.add("\t\t\t<property name=\"soTimeout\" value=\"5000\"/>");
        lines.add("\t\t\t<property name=\"errorRateThreshHold\" value=\"15.0\"/>");
        lines.add("\t\t\t<property name=\"monitorPeriod\" value=\"60000\"/>");
        lines.add("\t\t\t<property name=\"reconnectInterval\" value=\"60000\"/>");
        lines.add("\t\t</category>");

        lines.add("\t</properties>");

        FileUtils.writeLines(fout, lines);
    }
}
